package com.jnetwork.negocio;

import java.util.Collection;
import java.util.Date;

import com.jnetwork.dao.IdeaDAO;
import com.jnetwork.dao.UsuarioDAO;
import com.jnetwork.exception.DAOExcepcion;
import com.jnetwork.modelo.Idea;
import com.jnetwork.modelo.Usuario;

public class GestionIdea {

	public Collection<Idea> buscarIdea(String busqueda, String estado)
			throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.buscarIdea(busqueda, estado);
	}

	public Boolean evaluar(Integer idIdea,String estado,Integer idAsesor) 
			throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		Boolean resultado = null;
		if (estado.equals("Aprobado")) {
			resultado = dao.evaluarAprobado(idIdea, estado, idAsesor);
		}
		else if(estado.equals("Rechazado")){
			resultado = dao.evaluarRechazado(idIdea, "Creado");
		}
		return resultado;
	}

	public Idea crear(String titulo, String descripcion, String estado, String archivo, Date fecha, String key1, String key2, String key3, String key4, Integer estudiante)
			throws DAOExcepcion {	
		
		
		IdeaDAO dao = new IdeaDAO();		
		Idea vo = new Idea();
		vo.setTitulo(titulo);
		vo.setDescripcion(descripcion);
		vo.setEstado(estado);
		vo.setArchivo(archivo);
		vo.setFecha(fecha);
		vo.setKey1(key1);
		vo.setKey2(key2);
		vo.setKey3(key3);
		vo.setKey4(key4);
			
		Usuario estudiante1= new Usuario();
		estudiante1.setId(estudiante);
		vo.setEstudiante(estudiante1);			
			
		return dao.crear(vo);
		
		}
		

	
	
	public Idea obtener(String titulo) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.obtener(titulo);
	}
	
	public Idea obtenerKey1(String Key1) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.obtenerKey1(Key1);
	}
	
	public Idea obtenerKey2(String Key2 ) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.obtenerKey2(Key2);
	}
	
	public Idea obtenerKey3(String Key3) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.obtenerKey3(Key3);
	}
	
	public Idea obtenerKey4(String Key4) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.obtenerKey4(Key4);
	}
	

 
	public Idea modificar(int id, String titulo, String descripcion, String estado, String archivo, Date fecha, String key1, String key2, String key3, String key4, Integer estudiante) throws DAOExcepcion {
		
		IdeaDAO dao = new IdeaDAO();

		Idea vo = new Idea();
		vo.setTitulo(titulo);
		vo.setDescripcion(descripcion);
		vo.setEstado(estado);
		vo.setArchivo(archivo);
		vo.setKey1(key1);
		vo.setKey2(key2);
		vo.setKey3(key3);
		vo.setKey4(key4);
		
		Usuario estudiante1= new Usuario();
		estudiante1.setId(estudiante);
		vo.setEstudiante(estudiante1);
		
		return dao.modificar(vo);
	}
	
	public Idea publicar(int id, String titulo, String descripcion, String estado, String archivo, String key1, String key2, String key3, String key4, Integer estudiante) throws DAOExcepcion {
		
		IdeaDAO dao = new IdeaDAO();

		Idea vo = new Idea();
		vo.setTitulo(titulo);
		vo.setDescripcion(descripcion);
		vo.setEstado(estado);
		vo.setArchivo(archivo);
		vo.setKey1(key1);
		vo.setKey2(key2);
		vo.setKey3(key3);
		vo.setKey4(key4);
		
		Usuario estudiante1= new Usuario();
		estudiante1.setId(estudiante);
		vo.setEstudiante(estudiante1);
		
		return dao.publicar(vo);
	}
	
	
	public Idea obtenerDocente(Integer docente) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.obtenerDocente(docente);
	}
	
	public Idea obtenerEstudiante(Integer estudiante) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.obtenerEstudiante(estudiante);
	}
	/*
	public Collection<Idea> listar() throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.listar();
	}
	*/
	public Collection<Idea> listar(String titulo, String estado) throws DAOExcepcion {
		IdeaDAO dao = new IdeaDAO();
		return dao.listar(titulo,estado);
	}

}
